package com.sample.consumer.service;

import com.sample.common.service.UserService;
import org.apache.dubbo.common.stream.StreamObserver;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service;

@Service
public class OrderService {

    @DubboReference
    private UserService userService;

    public String getOrder() {
        // 服务端流
//        userService.say("name", new StreamObserver<String>() {
//            @Override
//            public void onNext(String data) {
//                System.out.println("响应数据：" + data);
//            }
//
//            @Override
//            public void onError(Throwable throwable) {
//
//            }
//
//            @Override
//            public void onCompleted() {
//
//            }
//        });
//        // 默认的调用方式：unary
        return userService.getUserInfo();

            // 客户端流
//        StreamObserver<String> so = userService.sayClient(new StreamObserver<String>() {
//            @Override
//            public void onNext(String data) {
//                System.out.println("调用者收到了来自服务端的信息->: " + data);
//            }
//            @Override
//            public void onError(Throwable throwable) {
//            }
//            @Override
//            public void onCompleted() {
//                System.out.println("调用者..........->");
//            }
//        });
//        so.onNext("zhangsan");
//        so.onNext("lisi");
//        so.onCompleted();
//        return "ok";
    }
}
